iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
0
Mobile Development

iOS學習資源與筆記系列 第 12

蘋果檔案系統 APFS

  • 分享至 

  • xImage
  •  

記錄學習內容。
主要是看網路上的文章和影片,做些紀錄。
對檔案系統和硬碟之類的東西不懂,所以以下內容不太了解也可能錯誤。

蘋果檔案系統(英語:Apple File System,簡稱APFS)

它的目的是解決HFS+(Mac OS Extend,APFS的前身)檔案系統的核心問題。

來了解Apple File System 是什麼?
What is APFS? - The Apple File System Explained

先了解檔案系統 :
【小黑馬作業系統教室統整】自編超齊全的「作業系統」科目學習整理

整理:
1
Space sharing :
Volumns share free space inside a container
不太懂這個,只知道硬碟空間是很靈活的。可以自由調整,不會浪費空間。
應該是用來解決 碎片化(fragmentaion) 問題
【小黑馬作業系統教室】(11) (Ch8)記憶體管理的碎片-fragmentation,segmentation是解方?

2
接著先來了解什麼是copy-on-write ?

Copy of files are only made when changes needs to written
只有當檔案改變的時候 , 才會寫到硬碟

就是說 現在有一個檔案 叫a.jpg ,我把檔案複製到另一個目錄,現在有兩個
a.jpg 。但是在硬碟裡還是只有一份檔案,不會變成兩個a.jpg 。但是還是會增加一些空間,畢竟還是要紀錄:在哪些目錄下,要指到這個檔案。

像是這個吧?

Acyclic Graph Directory(沒有cycle的graph) : 可以不同路徑但指到同一個檔案

3
接著講到snapshots :

Snapshots are read-only instance of the file system

Snapshots 就是檔案在硬碟裡 是 只能 讀 的 。也就是說把檔案刪掉,他只是在某個地方記錄這個檔案不能用,不能顯示 。
檔案其實還在硬碟裡。還可以復原 。

Apple 有個 軟體 叫time machine (時光機):
關於「時光機」本機快照

4
接著講到Atomic Safe-Save

Regular files save into a temporary directory during a safe save

就是檔案實際上會先在tmp資料夾被創建,檔案確認無誤後,接著覆蓋到原本的檔案。
比之前的作業系統安全。

好像也不能講成覆蓋,在維基是寫:

它使用「寫入全新的元資料記錄、指向新的記錄、釋放舊的記錄」的邏輯,而非直接覆蓋現有的記錄。

接著是說以前的HFS+,有可能會資料遺失。然後新的檔案系統APFS可以跨過POSIX的限制 ,而HFS+不行 。這段不懂 。

接著好像是說,如果電腦突然斷電 , 資料都會保存的好好的,不會有什麼意外狀況-- >Atomic Safe-Save的優點。

接著有個東西叫renamex_np ,不知道是什麼。

5
HFS+ 可以直接升級 成 APFS,不用刪掉原本存的檔案。
但是 APFS 變成 HFS+ ,要 reformat ,清空硬碟

6
USING APFS ON HDDS … AND WHY YOU MIGHT NOT WANT TO
https://eshop.macsales.com/blog/43043-using-apfs-on-hdds-and-why-you-might-not-want-to/

因為APFS使用Copy on write,如果一個檔案被複製一份,之後這個檔案被修改多次,會造成檔案分散多個區塊
傳統硬碟HDD對分散的檔案就會比較慢,所以APFS檔案系統不建議裝在HDD


上一篇
SwiftUI List
下一篇
Swift,Image upload,Post
系列文
iOS學習資源與筆記28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言